package com.example.lotterybackend.common.utils;

import cn.hutool.crypto.SecureUtil;
import cn.hutool.crypto.digest.DigestUtil;
import cn.hutool.crypto.symmetric.AES;

/**
 * 封装加解密工具
 */
public class EncryptUtil {

    private static final String AES_KEY = "ricejson66666666"; // 对称密钥

    /**
     * sha256哈希加密
     */
    public static String encryptBySha256(String content) {
        return DigestUtil.sha256Hex(content);
    }

    /**
     * 使用aes对称加密
     * @param content 明文内容
     * @return 加密结果
     */
    public static String encryptByAes(String content) {
        byte[] key = AES_KEY.getBytes();
        // 创建aes对象
        AES aes = SecureUtil.aes(key);
        // 进行加密
        return aes.encryptHex(content);
    }

    /**
     * 使用aes对称解密
     * @param hex 密文
     * @return 明文结果
     */
    public static String decryptByAes(String hex) {
        byte[] key = AES_KEY.getBytes();
        // 创建aes对象
        AES aes = SecureUtil.aes(key);
        // 进行解密
        return aes.decryptStr(hex);
    }

}
